//
// Created by zain on 2017/3/14.
//

#ifndef PROJECT_CAMERA_H
#define PROJECT_CAMERA_H

#include "Object.h"

namespace ZainGL {
    class Camera : public Object {
        glm::vec3 mFocusOnPosition;
    public:
        const glm::vec3 &getFocusOnPosition() const;

        void setFocusOnPosition(const glm::vec3 &mTargetPosition);

        void setPosition(const glm::vec3 &mPosition) override;

        glm::vec3 getForward() override;

        glm::vec3 getUp() override;

        glm::vec3 getRight() override;

        glm::vec3 getPosition() override;

        glm::mat4 getViewMatrix();
    };
}


#endif //PROJECT_CAMERA_H
